package com.silence.gmall.common.vo.res;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 分片上传响应 VO
 *
 * @author silence
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class ChunkUploadResVo implements Serializable {

    /**
     * 序列化
     */
    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 文件标识符
     */
    private String fileIdentifier;

    /**
     * 是否上传完成
     */
    private Boolean completed;

    /**
     * 已上传的分片索引列表
     */
    private List<Integer> uploadedChunks;

    /**
     * 上传进度百分比
     */
    private Double progress;

    /**
     * 合并后的文件信息（只有完成时才有）
     */
    private FileUploadResVo fileInfo;

    /**
     * 消息
     */
    private String message;
}